//
//  MSHeroInfo.h
//  MagicSword
//
//  Created by Netease on 15/11/16.
//  Copyright © 2015年 Jonear. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <SpriteKit/SpriteKit.h>
#import "MSWeaponInfo.h"

typedef NS_ENUM(NSInteger, MSHeroProfession) {
    MSHeroProfession_Sword  = 1,        // 剑士、15-圣剑士、30-御剑士（攻击距离1） 移动6
    MSHeroProfession_Axe    = 2,          // 战士、15-狂战士、30-魔战士（攻击距离1） 移动5
    MSHeroProfession_Spear  = 3,        // 骑士、15-圣骑士、30-御骑士（攻击距离1） 移动10
    MSHeroProfession_Magic  = 4,        // 法师、15-玄法师、30-圣法师（攻击距离1-2） 移动8
    MSHeroProfession_Bow    = 5,          // 弓箭手、15-射手、30-神射士（攻击距离2） 移动8
//    MSHeroProfession_Dragon = 6,       // 暂时不出现-：（法、枪、弓）15-龙骑士、30-烈狱骑士
};

typedef NS_ENUM(NSInteger, MSHeroModel) {
    MSHeroModel_A,        // 1.主角 A轩宇：剑士，特性：+3%闪避 （1-1）出现等级1 、攻击10 防御10 血20
    MSHeroModel_B,        // 2.B吴奎：战士，特性：+2%攻击力（1-2）出现等级2
    MSHeroModel_C,        // 3.C云翼：骑士，特性：每局自动回血1% （1-2）出现等级2
    MSHeroModel_D,        // 4.D天泉：法师，特性：+1%暴击（1-3）出现等级3
    MSHeroModel_E,        // 5.E娄肖:  弓箭手，特性：+2%连击（1-5）出现等级5
    //    MSHeroModel_F,        // 6.F:  刺客，特征：+1%暴击（1-10）出现等级8
};


@interface MSHeroInfo : NSObject

@property (nonatomic, assign) NSInteger HP;         //当前血量
@property (nonatomic, assign) NSInteger MaxHP;      //总血量
@property (nonatomic, assign) NSInteger Attack;     //攻击
@property (nonatomic, assign) NSInteger Defense;    //防御（暂时不用）
@property (nonatomic, assign) NSInteger Experience; //当前经验值
@property (nonatomic, assign) NSInteger Crit;       //暴击（暂时不用）
@property (nonatomic, assign) NSInteger DoubleHit;  //连击
@property (nonatomic, assign) NSInteger Vampire;    //吸血
@property (nonatomic, assign) NSInteger MissValue;  //闪避

@property (nonatomic, strong) NSString *name;              //名字
@property (nonatomic, strong) NSString *professionName;    //职业名
@property (nonatomic, assign) NSInteger level;             //等级
@property (nonatomic, assign) MSHeroProfession profession; //职业类型
@property (nonatomic, assign) MSHeroModel type;            //人物类型
@property (nonatomic, assign) NSInteger moveDistance;      //移动距离
@property (nonatomic, assign) MSAttackDistanceType attackDistance;    //攻击距离

@property (nonatomic, strong) SKTexture *avatarTexture;    //头像
@property (nonatomic, strong) SKTexture *bodyTexture;      //全身照
@property (nonatomic, strong) NSString *mapImage;          //地图图片

@property (nonatomic, assign) BOOL isInFight;              //是否是出战状态

@property (nonatomic, strong) NSMutableArray *weaponList;         //背包（MSWeaponInfo类型）
@property (nonatomic, strong) MSWeaponInfo   *curWeapon;          //当前所选武器

+ (NSDictionary *)getDictFromHeroInfo:(MSHeroInfo *)heroInfo;
+ (MSHeroInfo *)getHeroInfoFromDict:(NSDictionary *)dict;

@end
